<?php
		session_start();
		define('TEMPLATES', '../templates/');
		define('JS','../js/');
		define('CSS','../css/');
		define('OBJETOS','../objetos/');
		define('NEGOCIOS','../negocio/');
		define('EXTENSION','.phtml');
function __autoload($class_name){
  require_once $class_name . '.php';
}
 
Class TransaccionServicio {
	
	var $AdminObj;
	var $generador_xhtml;
	var $vars;
	
	function TransaccionServicio($array_vars){
		$this->AdminObj=new AdminServicio();
		$this->vars=$array_vars;
		$this->generador_xhtml=new GeneradorXHTML();
	}

	function transNewServicio(){
		$Servicio=$this->AdminObj->getNewObject("Servicio",array(Servicio));		
		$arreglo_habit_persona= array("Habitacion","Persona");		
		$this->generador_xhtml->mostrarTpl($Servicio,array("tpl"=>"Servicio", "css"=>"ui.datepicker.css.php","js"=>"Servicio.js,Validator.js", "boton"=>"Guardar Datos","accion"=>"transSetServicio","css"=>"Servicio.css,ui.datepicker.css.php","arreglo"=>$arreglo_habit_persona));
	}
	
	function transSetServicio(){
		$this->vars['id_servicio']=$this->AdminObj->getNewID("Servicio","id_Servicio");
		$this->vars['id_hotel_servicio']= $_SESSION['S_HOTEL'];				
			
		$this->vars['fini_servicio'] =  $this->fechanueva($this->vars['fini_servicio']);
		$this->vars['ffin_servicio'] =  $this->fechanueva($this->vars['ffin_servicio']);		
			
		$this->vars['personaohabitacion_servicio'] = $this->vars['persona_o_habitacion'];
			$Servicio = $this->AdminObj->getNewObject("Servicio",$this->vars);
		$this->AdminObj->setServicio($Servicio);
		
				
		$array_dias		= split(';',$this->vars['ids_dias']);	
		$array_montos	= $_POST['dia'];	
		
				
		for($i=0;$i<count($array_dias);$i++)
		{			
			$dia = str_replace("chk","",$array_dias[$i]);
			
			$this->AdminObj->setDiasServicio($this->vars["id_servicio"],$dia,$array_montos[$dia]);			
		}				
		$this->AdminObj->redireccionar("TransaccionServicio.php");		
	}
	
	function fechanueva($fechavieja)
	{
	    list($d,$m,$a)=explode("-",$fechavieja);
	    return $a."-".$m."-".$d;
	}
	
	/*function transSetDiasServicio()
	{
		$this->vars['id_servicio']=$this->AdminObj->getNewID("Servicio","id_Servicio");
	 	$this->vars["id_dia"] = $this->vars["id_dia"].
		
		$this->AdminObj->setDiasServicio($this->vars["id_servicio"],$this->vars["id_dia"],$this->vars["monto"]);			
	}*/
	
	
	function transGetServicio(){
		$Servicio=$this->AdminObj->getServicio($this->vars['id_servicio']);	
		$matriz_dias = $this->AdminObj->getDiasServicio($this->vars['id_servicio']);
		
		$arreglo_habit_persona= array("Habitacion","Persona");
		for($i=0;$i<count($arreglo_habit_persona);$i++)
		{
			if($arreglo_habit_persona[$i] == $Servicio->personaohabitacion_servicio){
				
				unset($arreglo_habit_persona[$i]);
			}
		}
		
		$Servicio->fini_servicio= $this->fechanueva($Servicio->fini_servicio);		
		$Servicio->ffin_servicio= $this->fechanueva($Servicio->ffin_servicio);		 	
		
		$array_elementos=array("tpl"=>"Servicio"  ,"boton"=>"Guardar cambios","accion"=>"transUpdateServicio","css"=>"Servicio","js"=>"Servicio.js","matriz"=>$matriz_dias,"arreglo"=>$arreglo_habit_persona);
		$this->generador_xhtml->mostrarTpl($Servicio,$array_elementos);
	}
	
	function transUpdateServicio(){
		
		$this->vars['id_hotel_servicio']= $_SESSION['S_HOTEL'];
		$this->vars['personaohabitacion_servicio'] = $this->vars['persona_o_habitacion'];
		$this->vars['fini_servicio'] =  $this->fechanueva($this->vars['fini_servicio']);
		$this->vars['ffin_servicio'] =  $this->fechanueva($this->vars['ffin_servicio']);
		$Servicio=$this->AdminObj->getNewObject("Servicio",$this->vars);
		$this->AdminObj->updateServicio($Servicio);
		
		$this->AdminObj->deleteDiasServicio($Servicio->id_servicio);
		
		$array_dias	= split(';',$this->vars['ids_dias']);
			
		$array_montos	= $_POST['dia'];
				
		if($array_dias[0]!=null){
			
		for($i=0;$i<count($array_dias);$i++)
		{			
			$dia = str_replace("chk","",$array_dias[$i]);			
			$this->AdminObj->setDiasServicio($this->vars["id_servicio"],$dia,$array_montos[$dia]);			
		}		
		}
		$this->AdminObj->redireccionar("TransaccionServicio.php");	
	}
	
	function transDeleteServicio(){		
		//id_servicio		
		$this->AdminObj->deleteServicio($this->AdminObj->getServicio($this->vars['id_servicio']));
		//$this->AdminObj->redireccionar("TransaccionServicio.php");
		$this->AdminObj->redireccionar("TransaccionServicio.php");		
	}
	
	function transGetMontos()
	{		
		echo $this->generador_xhtml->generarRowsDias($this->AdminObj->getDiasServicios($this->vars['id_servicio']));		
	}	
	
	function transGetServicios()
	{
		$rows=$this->generador_xhtml->generarRowsTable2($this->AdminObj->getServicios(),"button","button","",false,0,array(0),array(0));		
		$this->generador_xhtml->mostrarTpl("",array("tpl"=>"Serviciostable","rows"=>$rows,"js"=>"Servicio.js", "css"=>"Servicio.css"));
	}		
}

if($_GET){
	$vars_trans=array_slice($_GET,1);
//antes no olvidar poner una validador para que nadie pueda ejecutar las funciones
	call_user_func(array(new TransaccionServicio($vars_trans),current($_GET)?current($_GET):"transGetServicios"));
}
else if($_POST){
		$vars_trans=array_slice($_POST,1);
		call_user_func(array(new TransaccionServicio($vars_trans),current($_POST)?current($_POST):"transGetServicios"));
		}
	else	call_user_func(array(new TransaccionServicio(array()),"transGetServicios"));

?>